summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java
new file mode 100644
index 000000000..5d22e8e08
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/StartupHandler.java
@@ -0,0 +1,45 @@
+package org.yuzu.yuzu_emu.utils;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
+
+import org.yuzu.yuzu_emu.R;
+import org.yuzu.yuzu_emu.activities.EmulationActivity;
+
+public final class StartupHandler {
+ private static void handlePermissionsCheck(FragmentActivity parent) {
+ // Ask the user to grant write permission if it's not already granted
+ PermissionsHandler.checkWritePermission(parent);
+
+ String start_file = "";
+ Bundle extras = parent.getIntent().getExtras();
+ if (extras != null) {
+ start_file = extras.getString("AutoStartFile");
+ }
+
+ if (!TextUtils.isEmpty(start_file)) {
+ // Start the emulation activity, send the ISO passed in and finish the main activity
+ Intent emulation_intent = new Intent(parent, EmulationActivity.class);
+ emulation_intent.putExtra("SelectedGame", start_file);
+ parent.startActivity(emulation_intent);
+ parent.finish();
+ }
+ }
+
+ public static void HandleInit(FragmentActivity parent) {
+ if (PermissionsHandler.isFirstBoot(parent)) {
+ // Prompt user with standard first boot disclaimer
+ new AlertDialog.Builder(parent)
+ .setTitle(R.string.app_name)
+ .setIcon(R.mipmap.ic_launcher)
+ .setMessage(parent.getResources().getString(R.string.app_disclaimer))
+ .setPositiveButton(android.R.string.ok, null)
+ .setOnDismissListener(dialogInterface -> handlePermissionsCheck(parent))
+ .show();
+ }
+ }
+}